package com.agileboot.domain.performance.score.db;

import com.agileboot.common.core.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 用户分数记录表
 * </p>
 */
@Getter
@Setter
@TableName("user_score_record")
@ApiModel(value = "UserScoreRecordEntity对象", description = "用户分数记录表")
public class UserScoreRecordEntity extends BaseEntity<UserScoreRecordEntity> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("用户ID")
    @TableField("user_id")
    private Long userId;

    @ApiModelProperty("考核年度")
    @TableField("assessment_year")
    private Integer assessmentYear;

    @ApiModelProperty("部门ID")
    @TableField("dept_id")
    private Long deptId;

    @ApiModelProperty("科研工作量")
    @TableField("research_workload")
    private BigDecimal researchWorkload;

    @ApiModelProperty("教研工作量")
    @TableField("teaching_workload")
    private BigDecimal teachingWorkload;

    @ApiModelProperty("育人工作量")
    @TableField("education_workload")
    private BigDecimal educationWorkload;

    @ApiModelProperty("服务工作量")
    @TableField("service_workload")
    private BigDecimal serviceWorkload;

    @ApiModelProperty("其他工作量")
    @TableField("other_workload")
    private BigDecimal otherWorkload;

    @ApiModelProperty("通用课程分数")
    @TableField("general_course_score")
    private BigDecimal generalCourseScore;

    @ApiModelProperty("专业课程分数")
    @TableField("major_course_score")
    private BigDecimal majorCourseScore;

    @ApiModelProperty("实验课程分数")
    @TableField("lab_course_score")
    private BigDecimal labCourseScore;

    @ApiModelProperty("待审核分数")
    @TableField("pending_score")
    private BigDecimal pendingScore;

    @ApiModelProperty("已审核总分")
    @TableField("approved_total_score")
    private BigDecimal approvedTotalScore;

    @Override
    public Serializable pkVal() {
        return this.id;
    }

}

